草庐IT

JavaFX Tableview 和 ScrollPane 滚动问题

全部标签

c# - 从 foreach 中的 Dictionary 中删除一个键会导致问题吗?或者我应该更好地构建一个新的词典?

例如:1.foreach(variteminmyDic){if(item.value==42)myDic.remove(item.key);}无论内部括号中的语句如何影响myDic,迭代器是否会正常工作?2.varnewDic=myDic.where(x=>x.value!=42).ToDictionary(x=>x.key,x=>x.value);第二种方法是好的做法吗?函数式编程和不可变? 最佳答案 第一种方法会在运行时崩溃,因为枚举器确保在枚举时没有人从基础集合中删除。第二种方法是一个不错的想法,但是C#字典是可变的,如果您可

c# - 使用 C# 和 .net 3.5 阅读 RSS 的问题

我一直在尝试编写一些例程来使用System.ServiceModel.Syndication中可用的新例程来读取RSS和ATOM提要,但不幸的是,Rss20FeedFormatter在我尝试的大约一半提要上失败了,但出现以下异常:AnerrorwasencounteredwhenparsingaDateTimevalueintheXML.只要RSS提要以下列格式表示发布日期,就会出现这种情况:Thu,16Oct0814:23:26-0700如果feed将发布日期表示为GMT,则一切顺利:Thu,16Oct0821:23:26GMT如果有某种方法可以使用XMLReaderSettings

c# - Process.StandardInput 或从 C# 代码执行的应用程序的编码问题

我对Process.StandartInput编码有疑问。我在我的Windows窗体应用程序中使用了一些进程,但输入应该是UTF-8。Process.StandardInput.Encoding是只读的,所以我不能将它设置为UTF-8,它会使用Windows默认编码,这会降低UTF-8中良好的native字符。程序中使用了两个进程:一个将输出写入文件,另一个读取。由于我可以将输出编码设置为UTF-8,因此该部分工作正常,但回读是我遇到问题的部分。我将包括我使用流程的部分。ProcessStartInfoinfo=newProcessStartInfo("mysql");info.Red

c# - 使用 CLR 存储过程可以解决哪些好问题?

我在SQLServer中使用CLR存储过程已有一段时间了,但我仍然想知道使用它们的最佳情况是什么。MSDN提供了一些使用指南,例如繁重的字符串操作(regex),或替换声明大量表变量和游标的T-SQL。我很想知道SO用户正在使用CLR存储过程以及示例/基准解决什么问题。例如,我发现CLR存储过程+SSRS是将数据操作逻辑从SSRS和T-SQL中取出并放入更易于阅读和操作的托管代码中的好方法。 最佳答案 许多需要非规范化和/或顺序操作的问题都可以由CLR很好地处理,并且可以用来显着提高性能,而不会牺牲SQL端的可用性(很多)。您可以采

c# - 同步两个 RichTextBox 的滚动位置?

在我的应用程序表单中,我有两个RichTextBox对象。它们将始终具有相同数量的文本行。我想“同步”这两个之间的垂直滚动,这样当用户改变其中一个的垂直滚动位置时,另一个滚动相同的量。我该怎么做呢? 最佳答案 感谢杰的回答;经过更多搜索后,我还找到了描述的方法here.我将在下面为任何感兴趣的人概述。首先,声明以下枚举:publicenumScrollBarType:uint{SbHorz=0,SbVert=1,SbCtl=2,SbBoth=3}publicenumMessage:uint{WM_VSCROLL=0x0115}pub

C# List<T> 与 IEnumerable<T> 性能问题

你好,假设这两种方法:privateListGetProviderForType(Typetype){ListreturnValue=newList();foreach(KeyValuePairproviderin_objectProviders){if((provider.Key.IsAssignableFrom(type)||type.IsAssignableFrom(provider.Key))&&provider.Value.SupportsType(type)){returnValue.Add(provider.Value);}}returnreturnValue;}priv

c# - 遍历列表时从列表中删除元素时出现问题

我有一个循环遍历列表中的元素。我需要根据某些条件从循环中的这个列表中删除元素。当我尝试在C#中执行此操作时,出现异常。显然,不允许从正在迭代的列表中删除元素。使用foreach循环观察到该问题。有什么标准的方法可以解决这个问题吗?注意:我能想到的一种解决方案是仅出于迭代目的创建列表的副本,并在循环内从原始列表中删除元素。我正在寻找一种更好的方法来处理这个问题。 最佳答案 使用List时ToArray()方法在这种情况下有很大帮助:Listitems=newList();foreach(MyClassiteminitems.ToArr

c# - WCF契约不匹配问题

我有一个与WCF服务通信的客户端控制台应用程序,但出现以下错误:“服务器没有提供有意义的回复;这可能是由于契约(Contract)不匹配、session过早关闭或内部服务器错误造成的。”我认为这是因为契约(Contract)不匹配,但我不明白为什么。该服务本身运行良好,并且这两个部分一起工作,直到我添加了模拟代码。谁能看出哪里出了问题?这是客户端,全部用代码完成:NetTcpBindingbinding=newNetTcpBinding();binding.Security.Mode=SecurityMode.Message;binding.Security.Message.Clien

c# - 每当在 wpf 中滚动任何一个时,两个 ScrollViewer 的同步滚动

我已经完成了线程:bindingtwoVerticalScrollBarsonetoanother它几乎帮助实现了目标,但仍然缺少一些东西。左右移动滚动条或上下移动滚动条会在我的两个滚动查看器中产生预期的滚动行为,但是当我们尝试使用/单击滚动查看器中这些滚动条末端的箭头按钮进行滚动时,只有一个滚动查看器被滚动,而不是预期的行为。那么我们还需要添加/编辑什么来解决这个问题? 最佳答案 一种方法是使用ScrollChanged事件来更新另一个ScrollViewerprivatevoidScrollChanged(objectsende

C# - 基本问题 : What is '?' ?

这个问题在这里已经有了答案:Whatdoes"DateTime?"meaninC#?(7个答案)关闭9年前。我想知道?在C#中是什么意思?我看到类似这样的内容:DateTime?或int?。我想这是C#4.0特有的?我无法在谷歌中找到它,因为我不知道这个东西的名字。问题是我正在使用DateTime并且我有很多转换错误(从DateTime到DateTime?)。谢谢